#ifndef RENDER_H
#define RENDER_H
#include "2D/core/Scene.h"
#include <QOpenGLFunctions>
#include <QOpenGLShaderProgram>
#include <QOpenGLBuffer>
#include <QMatrix4x4>
#include <QOpenGLTexture>
#include <QOpenGLVertexArrayObject>
#include <QSequentialAnimationGroup>
#include <QPropertyAnimation>
#include <QOpenGLExtraFunctions>
#include <QTimer>
#include <QList>
#include <QVector3D>
#include "Common.h"
#include <QOpenGLFunctions>
#include <QOpenGLShaderProgram>
#include <QOpenGLBuffer>
#include <QMatrix4x4>
#include <QOpenGLTexture>
#include <QOpenGLVertexArrayObject>
#include <QSequentialAnimationGroup>
#include <QPropertyAnimation>
#include <QOpenGLExtraFunctions>
#include <QTimer>
#include <QList>
#include <QVector3D>

class Render {
public:
	Render();
	~Render();

	void init(Scene* scene);

	void render();
	virtual void resize(int w, int h);

private:
	Scene* scene;
	QOpenGLShaderProgram* program = new QOpenGLShaderProgram;
	QOpenGLVertexArrayObject* vao = nullptr;
	int modelLocation = 0;
	int cameraLocation = 0;
	int colorLocation = 0;
	float width;
	float height;
	bool derty = true;
};

#endif RENDER_H
